1. Field of the Invention
The present invention pertains to the field of computer system architecture. More particularly, this invention relates to an intelligent bus bridge for implementing intelligent input/output subsystems in computer and server systems.
2. Background
High performance computer systems commonly include separate input/output subsystems. Such input/output subsystem typically includes a microprocessor that performs input/output functions which is separate from what may be referred to as the host or main microprocessor. For example, such input/output subsystem may perform complex communication network interface functions or disk control functions for the computer system.
Typically, an input/output subsystem includes a set of specialized input/output devices coupled for communication over a component bus. A processor in such an input/output subsystem typically performs the input/output functions via a bus without interfering with operations by other processors in the computer system. Such isolation of input/output transactions on the bus typically enables improved performance by the main processor or processors in such a computer system. Such architecture is common in mainframe computer systems where the processor and the input/output subsystem is referred to as an I/O channel.
With the advent of computer systems utilizing microprocessors, especially server/client systems, the demand for more powerful microprocessors has been increasing to enable more powerful server/client systems. This need has been partially met by combining multiple microprocessors in a single system 11 as shown in FIG. 1. Another problem which exists as more I/O devices are needed to implement more powerful server/client systems is that standard component buses that couple input/output subsystems to other elements of the computer system typically impose electrical loading limitations. Such electrical loading limitations impose limits on the number of components coupled to the standard component bus. For example, one prior art bus standard requires that each connector on a system component interconnect bus presents only one electrical load. Such electrical loading limitations ensure that signal quality on a fully loaded bus is sufficient for reliable operation.
In this connection, since some input/output subsystems require a large number of components that communicate via a local component bus which may exceed the electrical loading requirements imposed on each connector of a standard component bus, an input/output subsystem may also include a bus bridge circuit 13 that couples the local component bus 17 to other component buses 19 in the computer system which connect to a network such as a LAN through a network I/O card 21 or storage devices through SCSI controllers 23. Such a bus bridge electrically isolates the microprocessor or microprocessors 25, the memory 27 and the components of the input/output subsystem from the other component buses. Such a bus bridge circuit enables the input/output subsystem to contain a large number of components required to implement input/output functions while meeting electrical loading requirements on other component buses.
Moreover, the microprocessor or processors in system 11 must typically contend with other bus agents coupled to the component bus. Such bus contentions typically reduce the performance of the microprocessor or microprocessors while performing the input/output functions for the input/output subsystem.